package office.service.workflow;

import java.util.List;

import office.action.workflow.form.RemindConditionForm;
import office.action.workflow.form.RemindForm;
import office.action.workflow.wrapper.RemindWrapper;
import platform.common.bo.Page;
import platform.common.exception.BusinessException;
/**
 * 系统提醒管理
 * @author ZhangYQ
 *
 */
public interface IRemindService {
	/**
	 * 对提醒进行已阅
	 * @param id
	 * @throws BusinessException
	 */
	public void haveReadRemind(String id)throws BusinessException;
	/**
	 * 编辑消息提醒 包括发送消息任务和已阅消息
	 * @param form
	 * @throws BusinessException
	 */
	void editRemind(RemindForm form)throws BusinessException;
	/**
	 * 根据消息提醒的ID获取当前的消息
	 * @param id
	 * @return
	 * @throws BusinessException
	 */
	RemindWrapper getById(String id)throws BusinessException;
	/**
	 * @param condition  封装的参数体：包括以下几个参数，传入什么参数按照什么参数进行查询
	 * @return
	 * @throws BusinessException
	 */
	List<RemindWrapper> findRemindByCondition(RemindConditionForm condition,Page page)throws BusinessException;
	
	Page findRemindByConditionForPage(RemindConditionForm condition)throws BusinessException;
	
	Long findRemindCountByType(RemindConditionForm condition)throws BusinessException;
	
	void deleteRemind(RemindConditionForm condition);
	void updateAllRemindToRead(RemindConditionForm condition);
}
